根据 FXCop,List 不应该在 API 对象模型中公开。为什么这被认为是不好的做法?
我同意 moose-in-the-jungle 的观点:List<T>它是一个不受约束的、臃肿的物体,里面有很多“行李”。
List<T>
IList<T>幸运的是,解决方案很简单:改为暴露。
IList<T>
它公开了一个准系统接口,该接口具有大多数List<T>的方法(除了类似的方法AddRange()),并且它不会将您限制为特定List<T>类型,这允许您的 API 使用者使用他们自己的自定义实现IList<T>.
AddRange()
为了获得更大的灵活性,请考虑IEnumerable<T>在适当的时候将一些集合公开给 。
IEnumerable<T>